---
title: 状态模式
---

## 背景
有一个脚手架，可以生成模板工程。api 骨架、service 骨架、job 骨架、web 骨架。有很多骨架。

如果使用 shell 脚本，会对新人不太友好。


```bash title='生成 Service 工程的脚手架'
mun archetypeigenerate
-DgroupId=com.only-tplay
-DartifactId=op-order-center
-Dversion=1.0.0-SNAPSHOT
-Dpackage=com.only-play.order xxx
-DappName=op-order-center
-Darchetype 4rtifactId=op-service-archetype
-DarchetypeGroupId=com.onlytplai
-Darchetypeversion=1.0.0-SNAPSHOT
```
输入是固定的，所以状态有限。状态之间是存在转换的。
这种时候就可以使用状态模式（状态一定是有限的）。

状态模式类似玩游戏，在游戏启动过程中，状态是有限的。输入是有限的，输入是有顺序的


